home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / nt / source.exe / POSIX / SH / STD / H / STDIO.H < prev    next >
C/C++ Source or Header  |  1992-07-13  |  4KB  |  136 lines

  1. /*
  2.  * ANSI stream IO
  3.  *
  4.  * Heavily dependent on /usr/include/stdio.h being AT&T derived.
  5.  * todo: needs L_* constants.
  6.  */
  7.  
  8. /* $Header: stdio.h,v 1.2 88/06/23 18:32:35 egisin Locked $ */
  9.  
  10. #if ! _STDIO_H
  11. #define    _STDIO_H 1
  12.  
  13. #include <stddef.h>
  14.  
  15. /* system stdio.h goes here ... %%% */
  16. /*    @(#)stdio.h 1.16 89/12/29 SMI; from UCB 1.4 06/30/83    */
  17.  
  18. # ifndef FILE
  19. #define    BUFSIZ    1024
  20. #define _SBFSIZ    8
  21. extern    struct    _iobuf {
  22.     int    _cnt;
  23.     unsigned char *_ptr;
  24.     unsigned char *_base;
  25.     int    _bufsiz;
  26.     short    _flag;
  27.     char    _file;        /* should be short */
  28. } _iob[];
  29.  
  30. #define _IOFBF    0
  31. #define    _IOREAD    01
  32. #define    _IOWRT    02
  33. #define    _IONBF    04
  34. #define    _IOMYBUF    010
  35. #define    _IOEOF    020
  36. #define    _IOERR    040
  37. #define    _IOSTRG    0100
  38. #define    _IOLBF    0200
  39. #define    _IORW    0400
  40. #define    FILE    struct _iobuf
  41. #define    EOF    (-1)
  42.  
  43. #define    stdin    (&_iob[0])
  44. #define    stdout    (&_iob[1])
  45. #define    stderr    (&_iob[2])
  46.  
  47. #ifdef lint    /* so that lint likes (void)putc(a,b) */
  48. extern int putc();
  49. extern int getc();
  50. #else
  51. #define    getc(p)        (--(p)->_cnt>=0? ((int)*(p)->_ptr++):_filbuf(p))
  52. #define putc(x, p)    (--(p)->_cnt >= 0 ?\
  53.     (int)(*(p)->_ptr++ = (unsigned char)(x)) :\
  54.     (((p)->_flag & _IOLBF) && -(p)->_cnt < (p)->_bufsiz ?\
  55.         ((*(p)->_ptr = (unsigned char)(x)) != '\n' ?\
  56.             (int)(*(p)->_ptr++) :\
  57.             _flsbuf(*(unsigned char *)(p)->_ptr, p)) :\
  58.         _flsbuf((unsigned char)(x), p)))
  59. #endif
  60. #define    getchar()    getc(stdin)
  61. #define    putchar(x)    putc((x),stdout)
  62. #define    feof(p)        (((p)->_flag&_IOEOF)!=0)
  63. #define    ferror(p)    (((p)->_flag&_IOERR)!=0)
  64. #define    fileno(p)    ((p)->_file)
  65. #define    clearerr(p)    (void) ((p)->_flag &= ~(_IOERR|_IOEOF))
  66.  
  67. extern FILE    *popen();
  68. extern char    *ctermid();
  69. extern char    *cuserid();
  70. extern char    *tempnam();
  71.  
  72. #define L_ctermid    9
  73. #define L_cuserid    9
  74. #define P_tmpdir    "/usr/tmp/"
  75. #define L_tmpnam    25        /* (sizeof(P_tmpdir) + 15) */
  76. # endif
  77. /* ... end system stdio.h */
  78. #line 15 "stdio.h"
  79.  
  80. #ifndef _IOFBF
  81. #define    _IOFBF    00000
  82. #endif
  83. #ifndef _IOLBF
  84. #define    _IOLBF    00000        /* same as _IOFBF */
  85. #endif
  86.  
  87. #define    SEEK_SET    0
  88. #define    SEEK_CUR    1
  89. #define    SEEK_END    2
  90.  
  91. #if _SYSV
  92. #define    _EXTERN    extern
  93. #else
  94. #define    _EXTERN    
  95. #endif
  96.  
  97. _EXTERN    int    remove ARGS((const char *name));
  98. _EXTERN    int    rename ARGS((const char *oname, const char *nname));
  99. _EXTERN    FILE   *tmpfile ARGS((void));
  100. _EXTERN    char   *tmpnam ARGS((char *s));
  101.  
  102. _EXTERN    FILE   *fopen ARGS((const char *name, const char *mode));
  103. _EXTERN    FILE   *freopen ARGS((const char *name, const char *mode, FILE *f));
  104. _EXTERN    FILE   *fdopen ARGS((int fd, const char *mode));
  105. _EXTERN    int    fflush ARGS((FILE *f));
  106. _EXTERN    int    fclose ARGS((FILE *f));
  107. _EXTERN    void    setbuf ARGS((FILE *f, char *buf));
  108. _EXTERN    int    setvbuf ARGS((FILE *f, char *buf, int flags, size_t len));
  109.  
  110. _EXTERN    int    fseek ARGS((FILE *f, long off, int how));
  111. _EXTERN    long    ftell ARGS((FILE *f));
  112. _EXTERN    void    rewind ARGS((FILE *f));
  113.  
  114. _EXTERN    int    printf ARGS((const char *fmt, ...));
  115. _EXTERN    int    fprintf ARGS((FILE *f, const char *fmt, ...));
  116. _EXTERN    int    sprintf ARGS((char *s, const char *fmt, ...));
  117. /* we do not include <stdarg.h> to prevent <varargs.h> conflicts */
  118. _EXTERN    int    vprintf ARGS((const char *fmt, Void *va));
  119. _EXTERN    int    vfprintf ARGS((FILE *f, const char *fmt, Void *va));
  120. _EXTERN    int    vsprintf ARGS((char *s, const char *fmt, Void *va));
  121. _EXTERN    int    scanf ARGS((const char *fmt, ...));
  122. _EXTERN    int    fscanf ARGS((FILE *f, const char *fmt, ...));
  123. _EXTERN    int    sscanf ARGS((const char *s, const char *fmt, ...));
  124.  
  125. _EXTERN    size_t    fread ARGS((void *ptr, size_t size, size_t n, FILE *f));
  126. _EXTERN    size_t    frwrite ARGS((const void *ptr, size_t size, size_t n, FILE *f));
  127. _EXTERN    int    fgetc ARGS((FILE *f));
  128. _EXTERN    int    fputc ARGS((int c, FILE *f));
  129. _EXTERN    char   *fgets ARGS((char *s, int len, FILE *f));
  130. _EXTERN    int    fputs ARGS((const char *s, FILE *f));
  131. _EXTERN    char   *gets ARGS((char *s));
  132. _EXTERN    int     puts ARGS((const char *s));
  133.  
  134. #endif
  135.  
  136.